﻿Public Class ViewModelParametrerGroupeCRT
    Inherits ViewModelTabSectionBase

    Friend _ListeGroupesCrt As ObjectModel.ObservableCollection(Of String)
    Private _GroupePmtActif As String
    Private _ListeClesCrtGroupePmtActif As DataView
    Private _ListeClesCrt As DataView


    Public ReadOnly Property ListeGroupesCrt As ObjectModel.ObservableCollection(Of String)
        Get
            Dim datamanager = New DataManager()
            _ListeGroupesCrt = New ObjectModel.ObservableCollection(Of String)( _
                               (From elt In datamanager.Dataset.CorrespondanceCrtPmt
                               Where Not String.IsNullOrEmpty(elt.Groupe)
                               Select elt.Groupe Distinct).ToList())

            If Not String.IsNullOrEmpty(GroupePmtActif) Then
                If Not _ListeGroupesCrt.Contains(GroupePmtActif) Then
                    If _ListeGroupesCrt.Count > 0 Then
                        GroupePmtActif = _ListeGroupesCrt(0)
                    Else
                        GroupePmtActif = ""
                    End If
                End If
            End If
            Return _ListeGroupesCrt
        End Get
    End Property

    Public Property GroupePmtActif As String
        Get
            Return _GroupePmtActif
        End Get
        Set(value As String)
            _GroupePmtActif = value
            _ListeClesCrtGroupePmtActif.RowFilter = "GROUPE = '" & value & "'"
            OnPropertyChanged("GroupePmtActif")
        End Set
    End Property

    Public ReadOnly Property ListeClesCrtGroupePmtActif As DataView
        Get
            If _ListeClesCrtGroupePmtActif Is Nothing Then
                Dim datamanager = New DataManager()
                _ListeClesCrtGroupePmtActif = New DataView(datamanager.Dataset.CorrespondanceCrtPmt)
            End If

            Return _ListeClesCrtGroupePmtActif
        End Get
    End Property

    Public ReadOnly Property ListeClesCrt As DataView
        Get
            If _ListeClesCrt Is Nothing Then
                Dim datamanager = New DataManager()
                _ListeClesCrt = New DataView(datamanager.Dataset.CorrespondanceCrtPmt)
            End If

            Return _ListeClesCrt
        End Get
    End Property

    Public Sub UpdateGroupeList()
        Dim datamanager = New DataManager()

        _ListeGroupesCrt.Clear()

        Dim q = From elt In datamanager.Dataset.CorrespondanceCrtPmt
                Where Not String.IsNullOrEmpty(elt.Groupe)
                Order By elt.Groupe
                Select elt.Groupe Distinct

        For Each elt In q
            _ListeGroupesCrt.Add(elt)
        Next

        If Not _ListeGroupesCrt.Contains(GroupePmtActif) Then
            GroupePmtActif = _ListeGroupesCrt(0)
        End If
    End Sub

End Class
